本发明实施例公开了一种网元数据管理方法,包括:预先根据管理需求创建MIB树目录,所述MIB树目录包含至少一个MIB节点;将所述MIB树目录转换为对应的XML文件,所述XML文件中包含每个MIB节点的定义OID;分别从管理范围内的网元获取对应于每个MIB节点的网元数据,并将所述网元数据缓存到数据库中。本发明实施例还公开了一种网元数据管理系统。采用本发明,一旦MIB节点发生变更,只需要重新生成XML文件,即可将MIB节点的变更更新到XML文件中,避免了多余的对象开销;另外,由于大部分网元数据是保持不变的,通过数据库缓存机制可以直接在网管侧查询网元数据,大大加快了查询速度,并提高了网络管理的性能。
1.一种网元数据管理方法,其特征在于,包括:预先根据管理需求创建管理信息库树目录,所述管理信息库树目录包含至少一个管理信息库节点;将所述管理信息库树目录转换为对应的可扩展标记语言文件,所述可扩展标记语言文件中包含每个管理信息库节点的定义对象标识;分别从管理范围内的网元获取对应于每个管理信息库节点的网元数据,并将所述网元数据缓存到数据库中;所述数据库中存储的内容包括网元名称字段、实例对象标识字段和数据值字段;网元名称字段用于存储网元名称,所述网元名称用于唯一标识一个网元;实例对象标识字段用于存储实例对象标识,所述实例对象标识用于唯一标识一种管理信息库节点,且所述实例对象标识对应于所述定义对象标识;数据值字段用于存储由所述网元名称和所述实例对象标识共同标识的特定网元特定配置项的数据。
2.根据权利要求1所述的网元数据管理方法,其特征在于,所述方法还包括:监听所述管理范围内的网元更新事件;判断是否有网元变化,若判断为是,则确定是有新的网元增加还是有旧的网元删除,若有新的网元增加,则从新的网元获取网元数据,并将获取的网元数据缓存到数据库中;若有旧的网元删除,则将数据库中缓存的旧的网元的网元数据删除。
3.根据权利要求1所述的网元数据管理方法,其特征在于,所述方法还包括:接收网元数据查询请求;根据所述网元数据查询请求在所述数据库中查询所述网元数据;判断所述网元数据的数据库查询结果是否为空,若判断为是,则在所述网元中查询所述网元数据,并将网元中的查询结果返回给用户;若判断为否,则将数据库中的查询结果返回给用户。
4.根据权利要求1所述的网元数据管理方法,其特征在于,所述方法还包括:判断管理信息库树目录是否发生了修改,若判断为是,则返回执行所述将所述管理信息库树目录转换为对应的可扩展标记语言文件的步骤。
5.一种网元数据管理系统,其特征在于,包括:管理信息库创建模块,用于预先根据管理需求创建管理信息库树目录,所述管理信息库树目录包含至少一个管理信息库节点;管理信息库-可扩展标记语言转换模块,用于将所述管理信息库树目录转换为对应的可扩展标记语言文件,所述可扩展标记语言文件中包含每个管理信息库节点的定义对象标识;数据获取模块,用于分别从管理范围内的网元获取对应于每个管理信息库节点的网元数据,并将所述网元数据缓存到数据库中;数据库,用于存储所述网元数据;所述数据库中存储的内容包括网元名称字段、实例对象标识字段和数据值字段;网元名称字段用于存储网元名称,所述网元名称用于唯一标识一个网元;实例对象标识字段用于存储实例对象标识,所述实例对象标识用于唯一标识一种管理信息库节点,且所述实例对象标识对应于所述定义对象标识;数据值字段用于存储由所述网元名称和所述实例对象标识共同标识的特定网元特定配置项的数据。
6.根据权利要求5所述的网元数据管理系统,其特征在于,所述系统还包括:发现模块,用于监听所述管理范围内的网元更新事件,判断是否有网元变化;第一判断模块,用于在所述发现模块发现有网元变化时,判断是有新的网元增加还是有旧的网元删除,若有新的网元增加,则通知所述数据获取模块从新的网元获取网元数据,并将获取的网元数据缓存到所述数据库中;数据库维护模块,用于在所述第一判断模块确定有旧的网元删除时,将所述数据库中缓存的旧的网元的网元数据删除。
7.根据权利要求5所述的网元数据管理系统,其特征在于,所述系统还包括:人机接口模块,用于接收网元数据查询请求;查询模块,用于根据所述网元数据查询请求在所述数据库中查询所述网元数据;结果返回模块,用于判断网元数据的数据库查询结果是否为空,若判断为否,则通过所述人机接口模块将数据库中的查询结果返回给用户;若判断为是,则通知所述查询模块在网元中查询所需网元数据,并将网元中的查询结果返回给用户。
8.根据权利要求5所述的网元数据管理系统,其特征在于,所述系统还包括:第二判断模块,用于判断管理信息库树目录是否发生了修改,若判断为是,则通知管理信息库-可扩展标记语言转换模块重新生成可扩展标记语言文件。
技术领域本发明涉及网络数据管理领域,尤其涉及一种网元数据管理方法及系统。
背景技术根据IAB(Internetxa0Architecturexa0Board,因特网结构委员会)的建议,所有的网络(IP/TCP)设备必须是可管理的,可管理的前提是实现SNMP(Simplexa0Networkxa0Managementxa0Protocol,简单网络管理协议)协议。为了支持SNMP,我们首先需要根据管理需求定义MIB(Managementxa0Informationxa0ba
se,管理信息库),然后将定义的MIB信息加载到NMS(Networkxa0Managementxa0System,网络管理系统)中,其中MIB定义了被管理对象的一系列属性,例如对象的名称、对象的访问权限和对象的数据类型等。这样,NMS就可以利用SNMP协议对网络设备进行管理和监控了。例如,NMS可以向Agent(代理)发出SNMP请求收集数据,xa0也可以接收Agent主动发送的Trap信息(Trap指被管理设备(代理)上报的陷阱报文,表明设备发生故障或变更的主动通知)。Agent用于维护被管理设备的信息数据并响应NMS的请求,把管理数据汇报给发送请求的NMS,另外当设备状态发生异常时,上报异常信息到NMS。网管监控设备主要是通过SNMP协议收集NE(Netxa0Element,网元)侧的数据,并通过修改相关NE侧MIB节点的值来使NE侧设备支持特定的功能。另外当NE状态发生异常时,还可以由Agent通过告警绑定网元侧某些变量发送告警到NMS服务器。而NE侧数据是在Agent侧通过MIB进行管理的,由于MIB的树层次结构,传统的网元数据管理方法是将MIB树中的每一个目录节点封装成一个对象,目录节点下每一个叶子节点作为对象的一个属性,因此一旦MIB结构比较复杂时,将会产生很多对象,这对于后期是极难维护和变更的。并且,将所有的网元侧数据存在一张数据库表对于百万级的网元管理是低效的,因此本种方案只适合中小型网元管理。另外传统的管理方法在每次进行数据查询时,都必须通过SNMP协议从网元侧获得数据,这是很低效的。
发明内容本发明实施例所要解决的技术问题在于,提供一种网元数据管理方法及系统。可高效地管理网元数据,降低网元数据增删、修改等后期维护时的工作量和难度。为了解决上述技术问题,本发明实施例提供了一种网元数据管理方法,包括:xa0预先根据管理需求创建管理信息库树目录,所述管理信息库树目录包含至少一个管理信息库节点;将所述管理信息库树目录转换为对应的可扩展标记语言文件,所述可扩展标记语言文件中包含每个管理信息库节点的定义对象标识;分别从管理范围内的网元获取对应于每个管理信息库节点的网元数据,并将所述网元数据缓存到数据库中。其中,所述数据库中存储的内容包括网元名称字段、实例对象标识字段和数据值字段;网元名称字段用于存储网元名称,所述网元名称用于唯一标识一个网元;实例对象标识字段用于存储实例对象标识,所述实例对象标识用于唯一标识一种管理信息库节点,且所述实例对象标识对应于所述定义对象标识;数据值字段用于存储由所述网元名称和所述实例对象标识共同标识的特定网元特定配置项的数据。其中,所述方法还包括:监听所述管理范围内的网元更新事件;判断是否有网元变化,若判断为是,则确定是有新的网元增加还是有旧的网元删除,若有新的网元增加,则从新的网元获取网元数据,并将获取的网元数据缓存到数据库中;若有旧的网元删除,则将数据库中缓存的旧的网元的网元数据删除。其中,所述方法还包括:接收网元数据查询请求;根据所述网元数据查询请求在所述数据库中查询所述网元数据;判断所述网元数据的数据库查询结果是否为空,若判断为是,则在所述网元中查询所述网元数据,并将网元中的查询结果返回给用户;若判断为否,则将数据库中的查询结果返回给用户。其中,所述方法还包括:判断管理信息库树目录是否发生了修改,若判断为是,则返回执行所述将所述管理信息库树目录转换为对应的可扩展标记语言文件的步骤。相应地,本发明实施例还提供了一种网元数据管理系统,包括:管理信息库创建模块,用于预先根据管理需求创建管理信息库树目录,所述管理信息库树目录包含至少一个管理信息库节点;管理信息库-可扩展标记语言转换模块,用于将所述管理信息库树目录转换为对应的可扩展标记语言文件,所述可扩展标记语言文件中包含每个管理信息库节点的定义对象标识;数据获取模块,用于分别从管理范围内的网元获取对应于每个管理信息库节点的网元数据,并将所述网元数据缓存到数据库中;数据库,用于存储所述网元数据。其中,所述数据库中存储的内容包括网元名称字段、实例对象标识字段和数据值字段;网元名称字段用于存储网元名称,所述网元名称用于唯一标识一个网元;实例对象标识字段用于存储实例对象标识,所述实例对象标识用于唯一标识一种管理信息库节点,且所述实例对象标识对应于所述定义对象标识;数据值字段用于存储由所述网元名称和所述实例对象标识共同标识的特定网元特定配置项的数据。其中,所述系统还包括:发现模块,用于监听所述管理范围内的网元更新事件,判断是否有网元变化;第一判断模块,用于在所述发现模块发现有网元变化时,判断是有新的网元增加还是有旧的网元删除,若有新的网元增加,则通知所述数据获取模块从新的网元获取网元数据,并将获取的网元数据缓存到所述数据库中;数据库维护模块,用于在所述第一判断模块确定有旧的网元删除时,将所述数据库中缓存的旧的网元的网元数据删除。其中,所述系统还包括:人机接口模块,用于接收网元数据查询请求;查询模块,用于根据所述网元数据查询请求在所述数据库中查询所述网元数据;结果返回模块,用于判断网元数据的数据库查询结果是否为空,若判断为否,则通过所述人机接口模块将数据库中的查询结果返回给用户;若判断为是,则通知所述查询模块在网元中查询所需网元数据,并将网元中的查询结果返回给用户。其中,所述系统还包括:xa0第二判断模块,用于判断管理信息库树目录是否发生了修改,若判断为是,则通知管理信息库-可扩展标记语言转换模块重新生成可扩展标记语言文件。实施本发明实施例,具有如下有益效果:通过将预先创建的MIB(Managementxa0Informationxa0ba
se,管理信息库)树目录映射成XML(Extensiblexa0Markupxa0Language,可扩展标记语言)文件,并在网管侧的数据库缓存网元数据,一旦MIB节点发生变更,只需要重新生成XML文件,即可将MIB节点的变更更新到XML文件中,避免了多余的对象开销;另外,由于大部分网元数据是保持不变的,通过数据库缓存机制可以直接在网管侧查询网元数据,大大加快了查询速度,并提高了网络管理的性能。
附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的网元数据管理方法的第一实施例流程图;图2是本发明提供的网元数据管理方法的第二实施例流程图;图3为MIB树目录中的SystemConfigutationGroup配置项的参考MIB定义的源文件;图4为SystemConfigutationGroup配置项的转换后的XML文件;图5是本发明提供的对网元数据进行查询的方法流程图;图6为本发明提供的在网元侧进行网元数据查询的方法流程图;图7为本发明提供的在网管侧维护网元数据的方法流程图;图8是本发明提供的网元数据管理系统的第一实施例结构示意图;图9是本发明提供的网元数据管理系统的第二实施例结构示意图;图10是本发明提供的网元数据管理系统的第三实施例结构示意图;图11是本发明提供的基于客户端/服务器架构的网元数据管理系统的结构示意图。
具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,为本发明提供的网元数据管理方法的第一实施例流程图,如图1所示,包括:在步骤S100,预先根据管理需求创建MIB(Managementxa0Informationxa0ba
se,管理信息库)树目录,所述MIB树目录包含至少一个MIB节点。需要说明的是,本文使用的“MIB树目录”并不是现有技术中的MIB信息,它仅仅在结构形式上与MIB信息相似,即都是树状结构,但在数据管理方式上两者是不同的。MIB是在树形目录下通过繁复的Javaxa0Bean实体类来管理网元数据,需要维护大量的对象和数据库表,例如每个包含叶MIB节点的根MIB节点都将生成一个Javaxa0Bean实体类,该根MIB节点下的每个叶MIB节点都是Bean对象的一个属性,当根MIB节点很多时,就会产生很多Javaxa0Bean实体类。与此不同的是,MIB树目录仅仅是一种树形目录,它只需要维护一个Javaxa0Bean对象,每个包含叶MIB节点的根MIB节点都只是Javaxa0Bean对象的一个属性(即配置项)。xa0在步骤S101,将所述MIB树目录转换为对应的XML(Extensiblexa0Markupxa0Language,扩展标记语言)文件,所述XML文件中包含每个MIB节点的定义OID(Objectxa0Identifier,对象标识)。在步骤S102,分别从管理范围内的网元获取对应于每个MIB节点的网元数据,并将所述网元数据缓存到数据库中。本发明一种网元数据管理方法通过将预先创建的MIB树目录映射成XML文件,并在网管侧的数据库缓存网元数据,一旦MIB节点发生变更,只需要重新生成XML文件,即可将MIB节点的变更更新到XML文件中,避免了多余的对象开销;另外,由于大部分网元数据是保持不变的,通过数据库缓存机制可以直接在网管侧查询网元数据,大大加快了查询速度,并提高了网络管理的性能。参见图2,为本发明提供的网元数据管理方法的第二实施例流程图。在本实施例中,将更为详细的描述该网元数据管理的方法流程。如图2所示,该方法流程包括:在步骤S200,预先根据管理需求创建MIB树目录,所述MIB树目录包含至少一个MIB节点。根据管理需求,MIB树目录的层次结构可能很复杂,例如,MIB树目录可以包括至少一个根MIB节点,每个根MIB节点可以包括至少一个叶MIB节点,每个叶MIB节点下又可以包括至少一个二级叶MIB节点等。其中,包含叶MIB节点的根MIB节点可以称为配置项,每个叶MIB节点可用于表示配置项的各种属性。例如,当一个根MIB节点表示配置信息时,该根MIB节点下的叶MIB节点可以包括:系统类型码、软件版本、代理端口和日志目标表等,其中日志目标表下又可以包括二级叶MIB节点,例如CPU使用量、内存使用量、硬盘使用量、网络流量等。优选地,在该步骤S200中,还可以包括根据管理范围内的网元生成网元列表,该网元列表中可以包括各个网元的网元名称或其它能唯一标识该网元的信息。在步骤S201,将所述MIB树目录转换为对应的XML文件,所述XML文件中包含每个MIB节点的定义OID。在现有技术中,每个包含叶MIB节点的根MIB节点(例如SystemConfigutationGroup)都将生成一个Javaxa0Bean实体类,然后将根MIB节点下的每一个叶MIB节点当成Bean对象的一个属性,一旦这样的根MIB节点很多,就会产生很多对象和数据库表,这对于项目后期的维护是很困难的。而且一旦MIB信息产生变更,又得修改程序代码,例如增加、修改或删除,这将导致很大的工作量。具体地,参见图3,为MIB树目录中的SystemConfigutationGroup配置项的参考MIB定义的源文件。图3仅仅示出了叶MIB节点serverIdentifer,其它叶MIB节点与此类似,不再详述。参见图4,为SystemConfigutationGroup配置项的转换后的XML文件。如图4所示,每个叶MIB节点在XML中对应于一个columnAttribute节点,其中identifier属性对应于MIB节点的定义OID。通过MIB节点的定义OID可以获得该MIB节点的实例OID,从而可以在数据库或网元中查询该MIB节点的网元数据,这将在后面进行详细描述。在步骤S202,分别从管理范围内的网元获取对应于每个MIB节点的网元数据,并将所述网元数据缓存到数据库中。具体地,所述数据库中存储的内容可以包括网元名称字段、实例OID字段和数据值字段。网元名称字段用于存储网元名称,网元名称用于唯一标识一个网元。实例OID字段用于存储实例OID,也即配置项信息,实例OID用于唯一标识一种MIB节点,且所述实例OID对应于所述定义OID。数据值字段用于存储由所述网元名称和所述实例OID共同标识的特定网元特定配置项的数据。更为具体地,根据现有技术中MIB的定义,变量可以分为标量和表量节点,每个变量有一个定义OID和实例OID。对于标量,实例OID=定义OID+“.0”;对于表量,实例OID=定义OID+“.”+主键信息。例如,用一个根MIB节点表示一个人的姓名,该根MIB节点的定义OID为1.1,若该根MIB节点下没有其它的叶MIB节点,那么该根MIB节点为标量节点,它的实例OID为1.1.0;若该根MIB节点还包括叶MIB节点中文名、英文名、昵称等时,它的实例OID可以为1.1.1(中文名)、1.1.2(英文名)或1.1.3(昵称)。在网元侧,可以通过实例OID来唯一标识一个特定的MIB节点。但是在网管侧,由于不同网元可能具有相同的MIB节点,所以还采用网元名称来唯一标识一个网元。也就是说,用网元名称+实例OID来唯一标识一个网元下一个特定的配置项。另外,在网管侧,还使用数据值字段value来存储MIB节点的值。例如,一个用于缓存网元数据的数据库表可以如下所示:
字段名称类型是否主键
NeIDString是
oidString是
valueString否
在步骤S203,监听管理范围内的网元更新事件,判断是否有网元变化。若判断为否,则不做任何处理,若判断为是,则执行步骤S204。在步骤S204,确定是有新的网元增加还是有旧的网元删除。若有新的网元增加,则执行步骤S205;若有旧的网元删除,则执行步骤S206。在步骤S205,从新的网元获取网元数据,并将获取的网元数据缓存到数据库中,并返回执行步骤S203。在步骤S206,将数据库中缓存的旧的网元的网元数据删除,并返回执行步骤S203。通过监听管理范围内的网元更新事件,可以保持网元侧与网管侧数据的一致性。另外,若发现网元侧与网管侧的数据不一致,还可以通过手动刷新来实现一致性。参见图5,为本发明提供的对网元数据进行查询的方法流程图。如图5所示,该方法流程从步骤S500开始,步骤S500可以在图1所示的步骤S102和图2所示的步骤S202之后的任意时刻执行。在步骤S500,接收网元数据查询请求。具体地,网元查询请求可以包括MIB节点选择指令和网元选择指令。例如,可以在显示界面上显示MIB树目录,并接收用户对MIB树目录中某个特定的MIB节点的点击,另外,还可以在显示界面上显示或弹出网元选择界面,并接收用户对某个特定的网元名称的点击,其中网元选择界面上可以列出网元列表。优选地,网元列表可以实时更新。例如,在图2所示的步骤S205中,还可以包括重新加载网元列表,重新加载的网元列表中包括新的网元的网元名称;在步骤S206中,还可以包括重新加载网元列表,重新加载的网元列表中不包括旧的网元的网元名称。在步骤S501,根据所接收的网元数据查询请求在数据库中查询网元数据。具体地,可以根据所接收的MIB节点选择指令确定需要查询的MIB节点,并在XML文件中获取该MIB节点的定义OID,然后根据该MIB节点的定义OID获取其实例OID,同时还可以根据网元选择指令确定需要查询的网元的网元名称,接下来,就可以根据网元名称+实例OID在数据库中查询所需的网元数据了。在步骤S502,判断网元数据的数据库查询结果是否为空,若判断为否,执行步骤S503;若判断为是,执行步骤S604。在步骤S503,将数据库中的查询结果返回给用户。在步骤S504,在网元中查询所需网元数据,并将网元中的查询结果返回给用户。优选地,如图6所示,步骤S504具体包括:在步骤S600,通过SNMP协议在网元中查询网元数据。在步骤S601,判断网元数据的查询结果是否为空,若判断结果为否,则执行步骤S602;若判断结果为是,则直接执行步骤S603。在步骤S602,将查找到的网元数据缓存到数据库中,并接着执行步骤S603。在步骤S603,将网元中的查询结果返回给用户。通过在网管侧的数据库中缓存网元数据,可以大大提高管理网元数据的性能。假设在网元侧查询一次数据(查询一个配置项)需要2s,在数据库查询一次数据需要0.5s,假设要查询网元的10个配置项(即10个MIB节点),采用传统方法在网元侧查询需要时间:10*2s=20s采用本发明在数据库查询(通常有至少90%的成功率),那么查询时间只需要:10*0.9*0.2s+10*0.1*2s=3.8s即使是发现的新网元,需要从新网元处获取网元数据到数据库,但由于这段自动获取过程一般在用户不知道的情况下进行,因此可以忽略不计。相比而言,采用本发明节约了至少81%以上的时间。参见图7,为本发明提供的在网管侧维护网元数据的方法流程图。如图7所示,该方法流程从步骤S700开始,步骤S700可以在图1所示的步骤S102和图2所示的步骤S202之后的任意时刻执行。该方法包括:在步骤S700,判断MIB树目录是否发生了修改,若否,则继续执行步骤S700;若是,则返回执行步骤S101或S201。具体地,若定义了新的MIB节点,可以根据新的MIB树目录重新生成XML文件;若删除了旧的MIB节点,可以在XML文件中删除对应的columnAttribute节点。这样,无论MIB节点如何变化,在网管侧都只需要维护一个Javaxa0Bean对象和一个XML文件,大大减小了项目后期的维护成本。参见图8,为本发明提供的网元数据管理系统的第一实施例结构示意图,如图8所示,包括:MIB创建模块810,用于预先根据管理需求创建MIB树目录,所述MIB树目录包含至少一个MIB节点。需要说明的是,本文使用的“MIB树目录”并不是现有技术中的MIB信息,它仅仅在结构形式上与MIB信息相似,即都是树状结构,但在数据管理方式上两者是不同的。MIB是在树形目录下通过繁复的Javaxa0Bean实体类来管理网元数据,需要维护大量的对象和数据库表,例如每个包含叶MIB节点的根MIB节点都将生成一个Javaxa0Bean实体类,该根MIB节点下的每个叶MIB节点都是Bean对象的一个属性,当根MIB节点很多时,就会产生很多Javaxa0Bean实体类。与此不同的是,MIB树目录仅仅是一种树形目录,它只需要维护一个Javaxa0Bean对象,每个包含叶MIB节点的根MIB节点都只是Javaxa0Bean对象的一个属性(即配置项)。MIB-XML转换模块820,用于将所述MIB树目录转换为对应的XML文件,所述XML文件中包含每个MIB节点的定义OID。数据获取模块830,用于分别从管理范围内的网元获取对应于每个MIB节点的网元数据,并将所述网元数据缓存到数据库中。数据库840,用于存储网元数据。本发明一种网元数据管理系统通过将预先创建的MIB树目录映射成XML文件,并在网管侧的数据库缓存网元数据,一旦MIB节点发生变更,只需要重新生成XML文件,即可将MIB节点的变更更新到XML文件中,避免了多余的对象开销;另外,由于大部分网元数据是保持不变的,通过数据库缓存机制可以直接在网管侧查询网元数据,大大加快了查询速度,并提高了网络管理的性能。参见图9,为本发明提供的网元数据管理系统的第二实施例结构示意图。在本实施例中,将更为详细的描述该网元数据管理系统的结构。如图9所示,该系统包括:MIB创建模块810,用于预先根据管理需求创建MIB树目录,所述MIB树目录包含至少一个MIB节点。根据管理需求,MIB树目录的层次结构可能很复杂,例如,MIB树目录可以包括至少一个根MIB节点,每个根MIB节点可以包括至少一个叶MIB节点,每个叶MIB节点下又可以包括至少一个二级叶MIB节点等。其中,包含叶MIB节点的根MIB节点可以称为配置项,每个叶MIB节点可以表示配置项的各种属性。例如,当一个根MIB节点表示配置信息时,该根MIB节点下的叶MIB节点可以包括:系统类型码、软件版本、代理端口和日志目标表等,其中日志目标表下又可以包括二级叶MIB节点,例如CPU使用量、内存使用量、硬盘使用量、网络流量等。优选地,MIB创建模块810中还可以包括网元列表生成模块,用于根据管理范围内的网元生成网元列表,该网元列表中可以包括各个网元的网元名称或其它能唯一标识该网元的信息。MIB-XML转换模块820,用于将所述MIB树目录转换为对应的XML文件,所述XML文件中包含每个MIB节点的定义OID。在现有技术中,每个包含叶MIB节点的根MIB节点(例如SystemConfigutationGroup)都将生成一个Javaxa0Bean实体类,然后将根MIB节点下的每一个叶MIB节点当成Bean对象的一个属性,一旦这样的根MIB节点很多,就会产生很多对象和数据库表,这对于项目后期的维护是很困难的。而且一旦MIB信息产生变更,又得修改程序代码,例如增加、修改或删除,这将导致很大的工作量。具体地,参见图3,为MIB树目录中的SystemConfigutationGroup配置项的参考MIB定义的源文件。图3仅仅示出了叶MIB节点serverIdentifer,其它叶MIB节点与此类似,不再详述。参见图4,为SystemConfigutationGroup配置项的转换后的XML文件。如图4所示,每个叶MIB节点在XML中对应于一个columnAttribute节点,其中identifier属性对应于MIB节点的定义OID。通过MIB节点的定义OID可以获得该MIB节点的实例OID,从而可以在数据库或网元中查询该MIB节点的网元数据,这将在后面进行详细描述。数据获取模块830,用于分别从管理范围内的网元获取对应于每个MIB节点的网元数据,并将所述网元数据缓存到数据库中。数据库840,用于存储数据获取模块830获取的网元数据。具体地,所述数据库840中存储的内容可以包括网元名称字段、实例OID字段和数据值字段。网元名称字段用于存储网元名称,网元名称用于唯一标识一个网元。实例OID字段用于存储实例OID,也即配置项信息,实例OID用于唯一标识一种MIB节点,且所述实例OID对应于所述定义OID。数据值字段用于存储由所述网元名称和所述实例OID共同标识的特定网元特定配置项的数据。更为具体地,根据现有技术中MIB的定义,变量可以分为标量和表量节点,每个变量有一个定义OID和实例OID。对于标量,实例OID=定义OID+“.0”;对于表量,实例OID=定义OID+“.”+主键信息。例如,用一个根MIB节点表示一个人的姓名,该根MIB节点的定义OID为1.1,若该根MIB节点下没有其它的叶MIB节点,那么该根MIB节点为标量节点,它的实例OID为1.1.0;若该根MIB节点还包括叶MIB节点中文名、英文名、昵称等时,它的实例OID可以为1.1.1(中文名)、1.1.2(英文名)或1.1.3(昵称)。在网元侧,可以通过实例OID来唯一标识一个特定的MIB节点。但是在网管侧,由于不同网元可能具有相同的MIB节点,所以还采用网元名称来唯一标识一个网元。也就是说,数据库840中,可以用网元名称+实例OID来唯一标识一个网元下一个特定的配置项。另外,在网管侧,在数据库840中,还使用数据值字段value来存储MIB节点的值。发现模块850,用于监听管理范围内的网元更新事件,判断是否有网元变化。第一判断模块860,用于确定是有新的网元增加还是有旧的网元删除。若有新的网元增加,则通知数据获取模块830从新的网元获取网元数据,并将获取的网元数据缓存到数据库840中;若有旧的网元删除,则通知数据库维护模块870。数据库维护模块870,用于在第一判断模块860确定有旧的网元删除时,将数据库中缓存的旧的网元的网元数据删除。本实施例所提供的网元数据管理系统,通过监听网元更新事件,可以保持网元侧与网管侧数据的一致性。参见图10,为本发明提供的网元数据管理系统的第三实施例结构示意图。如图10所示,除了参考图8和图9进行描述的模块外,该系统还可以包括:人机接口模块880,用于接收网元数据查询请求。具体地,网元查询请求可以包括MIB节点选择指令和网元选择指令。例如,人机接口模块880可以在显示界面上显示MIB树目录,并接收用户对MIB树目录中某个特定的MIB节点的点击,另外,人机接口模块880还可以在显示界面上显示或弹出网元选择界面,并接收用户对某个特定的网元名称的点击,其中网元选择界面上可以列出网元列表。人机接口模块880可以是显示屏、键盘、触摸屏、手写屏等任意合适的用于人机交互的电子器件。查询模块890,用于根据人机接口模块880接收的网元数据查询请求在数据库840中查询网元数据。具体地,查询模块890可以根据人机接口模块880所接收的MIB节点选择指令确定需要查询的MIB节点,并在XML文件中获取该MIB节点的定义OID,然后根据该MIB节点的定义OID获取其实例OID,同时还可以根据网元选择指令确定需要查询的网元的网元名称,接下来,查询模块890就可以根据网元名称+实例OID在数据库940中查询所需的网元数据了。结果返回模块900,用于判断网元数据的数据库查询结果是否为空,若判断为否,则通过人机接口模块880将数据库840中的查询结果返回给用户;若判断为是,则通知查询模块890在网元中查询所需网元数据,并将网元中的查询结果返回给用户。优选地,查询模块890在网元中查询网元数据时具体用于通过SNMP协议在网元中查询网元数据。结果返回模块900具体用于判断网元数据的查询结果是否为空,若判断结果为是,则将网元中的查询结果返回给用户;若判断结果为否,则通知数据获取模块830将查找到的网元数据缓存到数据库840中,并将网元中的查询结果返回给用户。通过在网管侧的数据库中缓存网元数据,可以大大提高管理网元数据的性能。优选地,网元数据管理系统还可以包括第二判断模块,用于判断MIB树目录是否发生了修改,若否,则继续判断;若是,则通知MIB-XML转换模块820重新生成XML文件。具体地,若第二判断模块发现定义了新的MIB节点,则可通知MIB-XML转换模块820根据新的MIB树目录重新生成XML文件;若第二判断模块发现删除了旧的MIB节点,则可通知MIB-XML转换模块820在XML文件中删除对应的columnAttribute节点。这样,无论MIB节点如何变化,在网管侧都只需要维护一个Javaxa0Bean对象和一个XML文件,大大减小了项目后期的维护成本。优选地,网元数据管理系统还可以包括网元列表更新模块。例如,在发现模块850发现增加了新的网元时,网元列表更新模块可以将新的网元的网元名称添加到网元列表中。在发现模块850发现增加了新的网元时,网元列表更新模块可以将旧的网元的网元名称从网元列表中删除。以上参考图1-7描述的方法或其它方法实施例可以使用参考图8-10所描述的系统或其它系统实施例来执行。但是,以上所描述的系统实施例中定义的各种模块,并不用于限定具体电路的边界,在实际实施时,这些模块还可以划分成其它模块、单元或电路。参见图11,为本发明提供的一种基于客户端/服务器架构的网元数据管理系统的结构示意图。如图11所示,该系统包括客户端、服务器和数据库。其中,服务器可以是一个独立的个体,也可以分为FE(Frontxa0Server,前端服务器)和BE(Backxa0Server,后端服务器)两个部分。将服务器分为FE和BE,可以在多个数据查询请求并发时,缓解查询压力,提高查询性能,因为FE的排队机制可以只将一部分数据查询请求发往BE进行处理,而将其它数据查询请求缓存,延缓发送。Topo模块可以位于客户端和/或服务器,相当于发现模块,主要用于监听管理范围内的网元更新事件。客户端可以包括配置主界面、MIB-XML转换模块、Socket监听模块,RMI调用模块。配置主界面相当于人机接口模块,提供了用户进行各种网元数据管理的入口,并将网元数据按照MIB的层次结构展示给用户。MIB-XML转换模块主要用于将特殊的MIB文件转换成XML文件。Socket监听模块主要用于监听FE发送过来的网元列表更新消息,一旦topo发现网元更新,将会触发Socket监听模块的这个操作。另外,RMI调用模块可以将客户端的操作请求(例如数据查询请求)转发到FE。FE可以包括传输提供接口&客户端会话转达器和RMIxa0FE应用,分别用于转发客户端的xa0RMI、Socket请求到BE,并把BE返回的RMI结果或接收到的BE的Socket请求转发到客户端。BE可以包括BExa0Socketxa0会话模块、RMIxa0BE应用、网元操作模块和数据库操作模块,主要用于对数据网元数据的增删改查操作、网元侧数据的增删改查操作、网管侧与网元侧数据的同步更新操作等。另外,一旦topo处有网元更新事件,可以通过BExa0Socket会话模块向客户端发送网元更新列表,并通过网元操作模块和数据库操作模块将新网元的网元数据添加到数据库中,或将旧网元的网元数据从数据库中删除,从而保证网元侧和网管侧数据的一致性。当FE的数据查询请求到达时,BE将会首先从数据库中取得数据,若数据库中无数据,再从网元侧取数据,并存入数据库中。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Onlyxa0Memory,ROM)或随机存储记忆体(Randomxa0Accessxa0Memory,RAM)等。以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。